go/types.Map.key (field)

27 uses

	go/types (current package)
		builtins.go#L400: 			if key != nil && !Identical(map_.key, key) {
		builtins.go#L404: 			key = map_.key
		index.go#L97: 		check.assignment(&key, typ.key, "map index")
		index.go#L135: 				k = t.key
		infer.go#L620: 		return w.isParameterized(t.key) || w.isParameterized(t.elem)
		infer.go#L771: 		w.typ(t.key)
		literals.go#L272: 		if utyp.key == nil || utyp.elem == nil {
		literals.go#L280: 		keyIsInterface := isNonTypeParamInterface(utyp.key)
		literals.go#L288: 			check.exprWithHint(x, kv.Key, utyp.key)
		literals.go#L289: 			check.assignment(x, utyp.key, "map literal")
		map.go#L12: 	key, elem Type
		map.go#L17: 	return &Map{key: key, elem: elem}
		map.go#L21: func (m *Map) Key() Type { return m.key }
		predicates.go#L461: 			return c.identical(x.key, y.key, p) && c.identical(x.elem, y.elem, p)
		stmt.go#L1056: 		return typ.key, typ.elem, "", true
		subst.go#L229: 		key := subst.typ(t.key)
		subst.go#L231: 		if key != t.key || elem != t.elem {
		subst.go#L232: 			return &Map{key: key, elem: elem}
		typestring.go#L264: 		w.typ(t.key)
		typexpr.go#L366: 		typ.key = check.varType(e.Key)
		typexpr.go#L376: 			if !Comparable(typ.key) {
		typexpr.go#L378: 				if isTypeParam(typ.key) {
		typexpr.go#L381: 				check.errorf(e.Key, IncomparableMapKey, "invalid map key type %s%s", typ.key, why)
		typexpr.go#L383: 		}).describef(e.Key, "check map key %s", typ.key)
		unify.go#L724: 			return u.nify(x.key, y.key, emode, p) && u.nify(x.elem, y.elem, emode, p)